home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 23 / AMIGAplus Sonderheft 23 (2000)(Falke)(DE)[!].iso / Tools / Text-Viewer / Notes / english / Basskey.rexx < prev    next >
OS/2 REXX Batch file  |  1999-11-06  |  41KB  |  1,355 lines

  1. /* subprogram for Notes.pprx */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8.  
  9. noteneingabe:
  10.     /* smallest notedistance */
  11.     sysart = "notesystem:2"
  12.     systemart = ppm_Getform("Pleace repeat your choice of the notesystems... (2, 1v oder 1b)", 3, sysart)
  13.     select
  14.     when systemart == '2' then zdist = 4
  15.     when systemart == '1v' then zdist = 2
  16.     when systemart == '1b' then zdist = 2
  17.     otherwise noteneingabe()
  18.     end
  19.     zdist2 = zdist-2
  20.     xgrdform = "(1,2,4,8 oder 16)"
  21.     xgrd = ppm_GetForm("Pleace give in the smallest note distance ...(nothing=Break!)", 3, xgrdform)
  22.     if xgrd == '' then  exit_msg("Break")
  23.     select
  24.      when xgrd == '1' then xg =0.7
  25.      when xgrd == '2' then xg =1.4
  26.      when xgrd == '4' then xg =2.8
  27.      when xgrd == '8' then xg =5.6
  28.      when xgrd == '16' then xg =11.2
  29.      otherwise notenwert()
  30.     end
  31.  
  32.    /* pointmessure of the notes */
  33.    notepkt = 26
  34.    call ppm_SetJustification(0)
  35.  
  36.    zz = 0 /* linecounter (german=Zeilenzähler) */
  37.    notex = 0
  38.    notey = 0
  39.    page = ppm_CurrentPage()
  40.  
  41. clickpos:
  42.    res = ppm_GetUserText(2, "Manual or align to Box? m/b")
  43.    if res == 'M' then res = 'm'
  44.    if res == 'B' then res = 'b'
  45. click:
  46.  select
  47.    when res == 'm' then
  48.      do
  49.        clickpos = ppm_GetClickPosition("Pleace click on the place, where I shall begin...")
  50.        if clickpos == 0 then
  51.            do
  52.            click()
  53.            end
  54.        else
  55.            do
  56.            notey = word(clickpos, 2)
  57.            notex = word(clickpos, 1)
  58.            if notex < 2.5 then notex = 2.5
  59.            xw = notex
  60.            yw = notey
  61.            if systemart ~= '2' then
  62.             do
  63.              if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  64.              if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  65.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  66.              if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  67.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  68.              if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  69.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  70.              if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  71.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  72.              if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  73.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  74.              if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  75.              if notey > 25.3 then noteneingabe()
  76.             end
  77.            else
  78.             do
  79.              if notey <= 3.3  then zz= 0   /* zz is linecounter */
  80.              if ((notey > 3.5)&(notey < 5.3)) then zz = 4
  81.              if ((notey > 5.5)&(notey < 11.3)) then zz = 8
  82.              if ((notey > 11.5)&(notey < 15.3)) then zz = 12
  83.              if ((notey > 15.5)&(notey < 19.3)) then zz = 16
  84.              if ((notey > 19.5)&(notey < 23.3)) then zz = 20
  85.              if notey > 25.3 then noteneingabe()
  86.             end
  87.            end
  88.      end
  89.    when res == 'b' then
  90. clickb:
  91.       do
  92.         clickbox = ppm_ClickOnBox("Pleace click on a box, where I shall work away ...")
  93.         if clickbox == '' then clickb()
  94.         pos = ppm_GetBoxPosition(clickbox)
  95.         notex = word(pos, 1)
  96.         notey = word(pos, 2)
  97.         xw = notex
  98.         yw = notey
  99.         call ppm_BoxAtPosn(notex, notey, page)
  100.         if systemart ~= '2' then
  101.          do
  102.           if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  103.           if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  104.           if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  105.           if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  106.           if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  107.           if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  108.           if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  109.           if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  110.           if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  111.           if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  112.           if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  113.           if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  114.           if notey > 25.3 then noteneingabe()
  115.          end
  116.         else
  117.          do
  118.           if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  119.           if ((notey > 3.5)&(notey < 5.3)) then zz = 4
  120.           if ((notey > 5.5)&(notey < 11.3)) then zz = 8
  121.           if ((notey > 11.5)&(notey < 15.3)) then zz = 12
  122.           if ((notey > 15.5)&(notey < 19.3)) then zz = 16
  123.           if ((notey > 19.5)&(notey < 23.3)) then zz = 20
  124.           if notey > 25.3 then noteneingabe()
  125.          end
  126.         if notex <= 1 then
  127.         do
  128.           noteneingabe()
  129.         end
  130.       end
  131.    otherwise clickpos()
  132.  end
  133.  
  134.    /* pointerbox */
  135.  
  136.    zbid = ppm_CreateBox(notex, zz+zdist2+0.5, 0.3, 1, 0)
  137.    call ppm_SetSize(26)
  138.    zbn = ppm_GetBoxName(zbid)
  139.    call ppm_TextIntoBox(zbn, '5')
  140.  
  141. notenwert:
  142.  
  143.    do forever
  144.            cr = '0a'x
  145.            form = "worth name ['n'at.]"
  146.            call ppm_SetBoxPosition(zbid, notex, zz+zdist2+0.5)
  147.            call ppm_UpdateScreen()
  148.            eingabe = ppm_GetForm("Please give in for the notes ...(nothing=BREAK )", 9, form)
  149.            if eingabe == '' then
  150.            do
  151.             call ppm_DeleteBox(zbid)
  152.             exit_msg("Break")
  153.            end
  154.            nw = word(eingabe, 1)
  155.            if nw == 'P' then nw = 'p'
  156.            nn = word(eingabe, 2)
  157.            al = word(eingabe, 3)
  158.            if al == 'N' then al = 'n'
  159.            IF nw == 'D' then nw = 'd'
  160.            if nw == 'C' then nw = 'C'
  161.            if nw == 'L' then nw = 'l'
  162.            if nn == 'L' then nn = 'l'
  163.            if nw == "NEW" then nw = "new"
  164.  
  165.  
  166.             select
  167.               when nn=='DB1' then nn = 'Db1'
  168.               when nn=='EB1' then nn = 'Eb1'
  169.               when nn=='GB1' then nn = 'Gb1'
  170.               when nn=='AB1' then nn = 'Ab1'
  171.               when nn=='BB1' then nn = 'Bb1'
  172.               when nn=='DB2' then nn = 'Db2'
  173.               when nn=='EB2' then nn = 'Eb2'
  174.               when nn=='GB2' then nn = 'Gb2'
  175.               when nn=='AB2' then nn = 'Ab2'
  176.               when nn=='BB2' then nn = 'Bb2'
  177.               when nn=='DB3' then nn = 'Db3'
  178.               when nn=='EB3' then nn = 'Eb3'
  179.               when nn=='GB3' then nn = 'Gb3'
  180.               when nn=='AB3' then nn = 'Ab3'
  181.               otherwise NOP
  182.             end
  183.  
  184.     /* x-distance of the notes*/
  185. auswahl:
  186.      select
  187.       when nw == 's' then
  188.           do
  189.           xw = xg/16
  190.           nw='x'
  191.           yv = 0
  192.           end
  193.       when nw  == 'S' then
  194.           do
  195.           xw = xg/16
  196.           nw='X'
  197.           yv = 0.47
  198.           end
  199.       when nw == 'e' then
  200.           do
  201.           xw = xg/8
  202.           nw='e'
  203.           yv = 0
  204.           end
  205.       when nw == 'E' then
  206.           do
  207.           xw = xg/8
  208.           nw='E'
  209.           yv = 0.47
  210.           end
  211.       when nw == 'q' then
  212.           do
  213.           xw = xg/4
  214.           nw='q'
  215.           yv = 0
  216.           end
  217.       when nw == 'Q' then
  218.           do
  219.           xw = xg/4
  220.           nw='Q'
  221.           yv = 0.47
  222.           end
  223.       when nw == 'h' then
  224.           do
  225.           xw = xg/2
  226.           yv = 0
  227.           end
  228.       when nw == 'H' then
  229.           do
  230.           xw = xg/2
  231.           yv = 0.47
  232.           end
  233.       when nw == 'w' then
  234.           do
  235.           xw = xg
  236.           nw='w'
  237.           yv = 0
  238.           end
  239.       when nw == 'W' then
  240.           do
  241.           xw = xg
  242.           nw='W'
  243.           yv = 0.47
  244.           end
  245.  
  246.       /*Point after the note*/
  247.  
  248.       when nw == 'pt' then
  249.           do
  250.             if notex < 3 then
  251.             do
  252.               notex = bakx
  253.               zz = zz - zdist
  254.               call ppm_SetSize(25)
  255.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  256.               call ppm_SetSize(20)
  257.               call ppm_TextIntoBox(box#id, 'd')
  258.             end
  259.             else
  260.             do
  261.               call ppm_SetSize(25)
  262.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  263.               call ppm_SetSize(20)
  264.               call ppm_TextIntoBox(box#id, 'd')
  265.             end
  266.  
  267.            select
  268.                when nn == '1' then
  269.                do
  270.                xw = xg
  271.                notex = notex+xw
  272.                end
  273.